<?php
function random_pic_string($laenge) {
    $laenge=20;
    $string="abcdefghijklmnopqrstuvwxyz0123456789";

    mt_srand((double)microtime()*1000000);

    for ($i=1; $i <= $laenge; $i++)
        $pic_string .= substr($string, mt_rand(0,strlen($string)-1), 1);

    return $pic_string;
}

function thumb($file, $save, $width, $height, $prop) {
    // Requires GD-Lib > 2.0
    // Ist $prop=TRUE, so werden die Proportionen des Bildes
    // auch im Thumbnail eingehalten

    @unlink($save);
    $infos = @getimagesize($file);
    if ($prop) {
        // Proportionen erhalten
        $iWidth = $infos[0];
        $iHeight = $infos[1];
        $iRatio = $width / $iWidth;

        $iNewW = $iWidth * $iRatio;
        $iNewH = $iHeight * $iRatio;

    } else {
        // Strecken und Stauchen auf Gr��e
        $iNewW = $width;
        $iNewH = $height;
    }

    if ($infos[2] == 2) {
        // Bild ist vom Typ jpg
        $imgA = imagecreatefromjpeg($file);
        $imgB = imagecreatetruecolor($iNewW,$iNewH);
        imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,$iNewH, $infos[0], $infos[1]);
        imagejpeg($imgB, $save);
    } elseif ($infos[2] == 3) {
        // Bild ist vom Typ png
        $imgA = imagecreatefrompng($file);
        $imgB = imagecreatetruecolor($iNewW, $iNewH);
        imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,$iNewH, $infos[0], $infos[1]);
        imagepng($imgB, $save);
    } else
        return FALSE;
}

function watermark($image, $watermark, $save_as, $position=8, $transparency=50, $t_x=0, $t_y=0) {
    // Michael M�ller, 05.03.2004 17:05, www.php4u.net
    // Positionen:
        // 1 oben links
        // 2 oben mittig
        // 3 oben rechts
        // 4 Mitte links
        // 5 Mitte
        // 6 Mitte rechts
        // 7 unten links
        // 8 unten mittig
        // 9 unten rechts
    // erlaubt sind png und jpeg
    if ($position < 1 || $position > 9)
        return FALSE;
    if (!file_exists($image) || !file_exists($watermark))
        return FALSE;
    $infos_img = getimagesize($image);
    $infos_wat = getimagesize($watermark);
    if (!in_array($infos_img[2], array(2,3)) ||     !in_array($infos_wat[2], array(2,3)))
        return FALSE;
    if ($infos_img[0]<$infos_wat[0] || $infos_img[1]<$infos_wat[1])
        return FALSE;
    if ($infos_wat[0]<$t_x || $infos_wat[1]<$t_y)
        return FALSE;
    $transparency = 100 - $transparency;
    if ($transpareny < 0 || $transpareny > 100)
        return FALSE;
    @unlink($save_as);

    // Position x
    switch (($position-1)%3) {
        case 0:
            $pos_x = 0;
            break;
        case 1:
            $pos_x = round(($infos_img[0]-$infos_wat[0])/2, 0);
            break;
        case 2:
            $pos_x = $infos_img[0]-$infos_wat[0];
            break;
    }
    // Position y
    switch (floor(($position-1)/3)) {
        case 0:
            $pos_y = 0;
            break;
        case 1:
            $pos_y = round(($infos_img[1]-$infos_wat[1])/2, 0);
            break;
        case 2:
            $pos_y = $infos_img[1]-$infos_wat[1];
            break;
    }
    // watermark-procedure
    if ($infos_img[2] == 2)
        $img_image = imagecreatefromjpeg($image);
    if ($infos_img[2] == 3)
        $img_image = imagecreatefrompng($image);
    if ($infos_wat[2] == 2)
        $img_watermark = imagecreatefromjpeg($watermark);
    if ($infos_wat[2] == 3)
        $img_watermark = imagecreatefrompng($watermark);
    imagealphablending($img_image, TRUE);
    imagealphablending($img_watermark, TRUE);
    imagecolortransparent($img_watermark, imagecolorat($img_watermark, $t_x, $t_y));
    imagecopymerge($img_image, $img_watermark, $pos_x, $pos_y, 0, 0, $infos_wat[0], $infos_wat[1], $transparency);
    if (strtolower(substr($save_as, -3)) == "png") {
        if (imagepng($img_image, $save_as))
            return TRUE;
        else
            return FALSE;
    } else {
        if (imagejpeg($img_image, $save_as))
            return TRUE;
        else
            return FALSE;
    }
    return FALSE;
}

function removeDir($path) {
    $deleted = FALSE;
    // Add trailing slash to $path if one is not there
    if (substr($path, -1, 1) != "/") {
        $path .= "/";
    }

    $normal_files = glob($path . "*");
    $hidden_files = glob($path . "\.?*");
    $all_files = array_merge($normal_files, $hidden_files);

    foreach($all_files as $file) {
        # Skip pseudo links to current and parent dirs (./ and ../).
        if (preg_match("/(\.|\.\.)$/", $file)) {
            continue;
        }

        if (is_file($file)) {
            // Remove each file in this Directory
            unlink($file);
        }
        elseif (is_dir($file)) {
            // If this Directory contains a Subdirectory, run this Function on it
            removeDir($file);
        }
    }
    // Remove Directory once Files have been removed (If Exists)
    if (is_dir($path)) {
        if (rmdir($path))
            $deleted = TRUE;
    }
    return $deleted;
}

function no_spam($mail) {
    $str = "";
    $a = unpack("C*", $mail);
    foreach ($a as $b)
        $str .= sprintf("%%%X", $b);
    return $str;
}// ..:: BB-Codes parsen ::..
?>